#pragma once

#include <sys/epoll.h>

class IHandle;

class EpollReactor {
public:
    EpollReactor();
    virtual ~EpollReactor();
    void RegisterHandle(IHandle* h, int event);
    void RemoveHandle(IHandle* h);
    void HandleEvents(int milliseconds);

private:
    EpollReactor(const EpollReactor&) = delete;
    EpollReactor& operator =(const EpollReactor&) = delete;

private:
    int mEpoll;
};
